<?php

namespace App\Models;


class Role extends BaseModel
{
  /**
   * 与模型关联的数据表。
   *
   * @var string
   */
  protected $table = 'role';
  const UPDATED_AT = 'update_time';
  /**
   * 可以被批量赋值的属性。
   *
   * @var array
   */
  protected $fillable = array(
    'role_id',
    'in_ids',
    'ex_ids',
    'role_name',
    'role_key',
    'role_sort',
    'data_scope',
    'menu_check_strictly',
    'dept_check_strictly',
    'status',
    'del_flag',
    'create_by',
    'update_by',
    'create_time',
    'update_time',
    'shop_id',
    'remark'
  );

  /**
   * 查询数据需要过滤掉的属性。
   *
   * @var array
   */

  protected $hidden = array();
  //返回关键字段
  public function getTableField()
  {
    return $this->fillable;
  }
  /**
   * 建表语句
   */
  protected function buildTable($name = '')
  {
    $tablename = $this->table;
    if (!empty($name)) {
      $tablename = $name;
    }
    // $table  = "CREATE TABLE IF NOT EXISTS $tablename (
    //   `id` int(11) NOT NULL AUTO_INCREMENT,
    //   `name` varchar(30) DEFAULT NULL COMMENT '名称',
    //   `in_ids` varchar(1000) DEFAULT NULL COMMENT '权限',
    //   `ex_ids` text COMMENT '排除',
    //   `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
    //   `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
    //   PRIMARY KEY (`id`)
    // ) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT='角色权限';";
    $table = "CREATE TABLE IF NOT EXISTS $tablename (
      `role_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色ID',
      `role_name` varchar(30) NOT NULL COMMENT '角色名称',
      `role_key` varchar(100) NOT NULL COMMENT '角色权限字符串',
      `role_sort` int(4) NOT NULL COMMENT '显示顺序',
      `data_scope` char(1) DEFAULT '1' COMMENT '数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）',
      `menu_check_strictly` tinyint(1) DEFAULT '1' COMMENT '菜单树选择项是否关联显示',
      `dept_check_strictly` tinyint(1) DEFAULT '1' COMMENT '部门树选择项是否关联显示',
      `status` char(1) NOT NULL COMMENT '角色状态（0正常 1停用）',
      `del_flag` char(1) DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
      `in_ids` text DEFAULT null COMMENT '权限含有',
      `ex_ids` text DEFAULT null COMMENT '权限排除',
      `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
      `create_time` datetime DEFAULT NULL COMMENT '创建时间',
      `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
      `update_time` datetime DEFAULT NULL COMMENT '更新时间',
      `remark` varchar(500) DEFAULT NULL COMMENT '备注',
      PRIMARY KEY (`role_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8 COMMENT='角色信息表';";

    return $table;
  }
  /**
   * 插入新的字段
   */
  protected function bulidField()
  {
    //例子
    $array = ['shop_id' => "int(11) DEFAULT NULL COMMENT '店铺id'"];
    return $array;
  }
}
